关键字static和final

您所在的位置:网站首页 static 和final 关键字static和final

关键字static和final

2023-03-12 07:41| 来源: 网络整理| 查看: 265

static 与final

1.变量的声明和内存地址的开劈

 class A{

 }

 A   a;(这样没有开辟内存空间,只有new对象时才有)

static关键字

静态的 :可以用来修饰类,属性,方法,代码块

1.属性

如果用static来修饰,则变量的内存在静态区。(被共享);

当属性定义为static则该属性为该类所有的对象共享,

以最后一次改变为所有对象里的最终值;

static属性,又叫类属性

调用方式:1.可以通过对象调用;

 2.可以直接通过类名调用;

2.静态方法:

static方法中不能调用非静态属性

(重写失去意义)方法如果定义为static ,对象在调用方法的时候只和对象定义的类型相关

static方法叫做类方法。这一类对象共享的方法;

调用方式:直接用类名调用;

 可以通过对象调用

一般情况下。static属性和方法直接通过类名来调用;

3.代码块

public class A()[

 public static void main(String[] args){

  System.out.println("A");

 }

//代码块

 {

  System.out.println("b"); 

 }

 //静态代码块

 {

  System.out.println("c"); 

 }

}

4.类前面。static修饰内部类;

java程序的执行过程!!!!

编写:.java文件-->翻译成.class字节码文件-->执行.class文件

1首先       .class文件加载到内存中(加载类)

 首先加载static属性,静态块,静态方法(不执行,只加载);加载到类的内存空间

2.执行主函数    在创建这个类的对象时,(再将非静态的方法,加载到对象的空间里面),,,,将非静态代码块,非静态属性执行

 在加载的过程当中,属性和代码块会先执行,方法必先等到调用时在执行;

*****************************************************************************

final关键字

 final可以用来修饰类,属性,和方法

 final,最终的,不可修改的

 类似于C语言里的const

1.final修饰类的时候,表示该类不可以被继承

2.final修饰方法时,不可以被重写,可以重载;

3.final修饰属性时,必须初始化并且只能一次,不可以改变值;

class Student {

 public final String n;

 public Student(){

  n="S";

 } 

}

这样定义也行,因为构造方法先实行(除了static修饰的方法和属性之外)

4.final修饰局部变量,定义时可以不赋值,但是只能赋值一次;

5.final 修饰参数,在参数前加final,,传入方法后只能用,不能改变。。(防止传入的值被修改;)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3